package com.demo.java.OD551_600.OD560;

import java.util.Scanner;
import java.util.*;

/**
 * @author bug菌
 * @Source 公众号：猿圈奇妙屋
 * @des： 【冠亚军排名，奖牌榜排名(B卷-100分)】问题
 * @url： https://blog.csdn.net/weixin_43970743/article/details/146536545
 */
public class OdMain {
    public static void main(String[] args) {
        // 处理输入
        Scanner in = new Scanner(System.in);
        int n = Integer.parseInt(in.nextLine()); // 读取国家的数量
        String[][] countries = new String[n][]; // 用二维数组存储国家和奖牌数
        for (int i = 0; i < n; i++) {
            countries[i] = in.nextLine().split(" "); // 读取每个国家的信息
        }

        // 自定义排序规则
        Arrays.sort(countries, new Comparator<String[]>() {
            @Override
            public int compare(String[] o1, String[] o2) {
                // 比较金牌数量
                if (o1[1].equals(o2[1])) {
                    // 如果金牌相同，再比较银牌数量
                    if (o1[2].equals(o2[2])) {
                        // 如果金银牌都相同，比较铜牌数量
                        return -Integer.parseInt(o1[3]) + Integer.parseInt(o2[3]);
                    } else {
                        // 比较银牌数量
                        return -Integer.parseInt(o1[2]) + Integer.parseInt(o2[2]);
                    }
                }
                // 比较金牌数量
                return -Integer.parseInt(o1[1]) + Integer.parseInt(o2[1]);
            }
        });

        // 输出排序后的国家名称
        for (String[] country : countries) {
            System.out.println(country[0]);
        }
    }
}